Barcodes have been in use since 1974. Barcodes are machine readable representations of data. In a basic one-dimensional barcode, the data is typically encoded by the thicknesses of parallel lines and the distance or thicknesses of the spaces between the parallel lines. Some barcodes have additional, or secondary, information encoded into the lines. The mapping between messages and barcodes is called a symbology. The specification of a symbology includes the encoding of the single digits/characters of the message as well as the start and stop markers into bars and space, the size of the quiet zone required to be before and after the barcode, as well as the computation of a checksum.
The symbology also includes a definition for the thicknesses of the parallel lines and spaces in a barcode. There are two main types of linear symbologies: two-width symbologies and many-width symbologies. Bars and spaces in two-width symbologies are wide or narrow. How wide a wide bar is exactly has no significance as long as the symbology requirements for wide bars are adhered to, usually two to three times wider than a narrow bar. Bars and spaces in many-width symbologies are all multiples of a basic width called the module. Most many-width symbologies use four widths of 1, 2, 3 and 4 modules.
One use for barcodes is to electronically identify items during checkout. Barcodes may also be used during the manufacturing process. When used in a manufacturing process, the barcode may be in motion when scanned. On a high speed manufacturing line, or a high speed printing press, the speed of the barcode with respect to the barcode reader may cause the image of the barcode being scanned to be blurred in the direction of motion. When the blurring or smearing becomes too pronounced, the barcode may become unreadable.
One way to reduce the blurring of the barcode image is to slow down the relative motion between the barcode and the barcode reader. Another method to reduce the bluffing of the barcode image is to increase the illumination so that the exposure time used to capture the image of the barcode is shortened. Some methods use image processing to remove the blur from the barcode image. One example of image processing to remove blur is a de-convolution using a Wiener Filter. De-convolution to remove blur typically requires a measure of the blur radius.
FIG. 1a is a bar from a barcode. FIGS. 1b-1d are inverse plots of intensity from the image of the bar in FIG. 1a formed at different scanning speeds. The image in FIG. 1b was scanned relatively slowly. The image in FIG. 1b has some blurring along each edge of the bar. The intensity I reaches a minimum in the middle of the bar as shown by the flat top. The blur radius 13 can be calculated from the image in FIG. 1b. Using the blur radius, image processing can be used to remove the blur from the image thereby enabling the measurement of the thickness of the bar. Once the thickness of the bars and spaces are measured, the barcode can be decoded.
The image in FIG. 1c was scanned at a faster speed. The image in FIG. 1c has significantly more blurring along each edge of the bar. The intensity I may reach a minimum in the middle of the bar, but it's difficult to confirm. The blur radius B might be able to be calculated from the image in FIG. 1c. The image in FIG. 1d was scanned at the fastest speed. The image in FIG. 1d has blurring along the entire image of the bar. The intensity does not reach the minimum intensity I in the middle of the bar. A blur radius B can not be calculated from the image in FIG. 1d. Therefore the barcode can not be decoded with this level of blurring. In general, when the blur radius is greater than ½ the bar thickness, the blur radius can not be calculated from the blurred image and the barcode can not be read. The blur radius sets the speed limit a barcode can be scanned for a given exposure time. The spacing between bars in a barcode also affects the maximum speed a barcode can be scanned.